/* Typs.h

        Standard data types

        By 'byte'  we assume  8-bit
        By 'word'  we assume 16-bit
        By 'dword' we assume 32-bit
*/

#ifndef __TYPS__H
#define __TYPS__H

//---------------------------------------------------------------------
//
// Check compiler (because we make some assumptions about data types)
//
//---------------------------------------------------------------------
//  Watcom C/C++ v10.0 or later
#if   defined(__WATCOMC__)
  #if __WATCOMC__ < 100      // '100' is version 10.0
    #error Watcom C/C++ v10.0 or later required!
  #endif
  #if (!defined(__DOS__)) && (!defined(__WINDOWS__))
      #error Watcom can build DOS/Windows aplications only
  #endif
  // Detected: Watcom C/C++
//---------------------------------------------------------------------
//  Microsoft's Visual C++ v4.0 or later
#elif defined(_MSC_VER)
  #if _MSC_VER < 1000      // '1000' is Visual C++ v4.0
    #error Visual C++ v4.0 or later required!
  #endif
  #if !defined(_WIN32)
    #error _WIN32 was not defined!
  #endif
  // Detected: Visual C++
//---------------------------------------------------------------------
//  GNU C++
#elif defined(_GCC_UNIX)
  // Detected: GNU C++
//---------------------------------------------------------------------
//  Unknown compiler
#else
  //#error Unknown compiler
#endif
//---------------------------------------------------------------------


// Portable 'typedefs'
typedef unsigned char uchar;
typedef   signed char schar;

typedef unsigned int  uint;
typedef   signed int  sint;

typedef unsigned long ulong;
typedef   signed long slong;

// Partially portable 'typedefs' (see compiler checking above)
typedef unsigned char  byte;
typedef unsigned char ubyte;
typedef   signed char sbyte;

typedef unsigned short int  word;
typedef unsigned short int uword;
typedef   signed short int sword;

typedef unsigned long int  dword;
typedef unsigned long int udword;
typedef   signed long int sdword;


#endif  /* __TYPS__H */
/* eof */